package com.xuhuan.client.business.splitfile.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @Author huan.xu
 * @Date 2023/6/17 23:31
 * @Description 文件切片参数类
 */
@Data
@ConfigurationProperties(prefix = "file-split")
@Component
public class FileSplitProperties {

    /**
     * 临时目录
     */
    private String tempBasePath;

    /**
     * 基础目录
     */
    private String basePath;

    /**
     * 单个文件大小，单位M
     */
    private int partitionSize;

    /**
     * 核心线程数
     */
    private int corePoolSize = 5;

    /**
     * 最大线程数
     */
    private int maxPoolSize = 10;

    /**
     * 线程空闲时间 （秒）
     */
    private int keepAliveSeconds = 300;

    /**
     * 任务队列容量（阻塞队列）
     *
     * 当核心线程数达到最大时，新任务会放在队列中排队等待执行
     */
    private int queueCapacity = Integer.MAX_VALUE;

}
